package com.hadron.ui.form.comboBox 
{
	import org.casalib.collection.List;
	import flash.events.Event;
	
	[Event(name = "comboOpened", type = "com.hadron.ui.form.comboBox.ComboBoxEvent")]
	[Event(name = "comboClosed", type = "com.hadron.ui.form.comboBox.ComboBoxEvent")]
	[Event(name = "comboSelected", type = "com.hadron.ui.form.comboBox.ComboBoxEvent")]
	/**
	 * ...
	 * @author Hadron
	 */
	public interface IComboBox
	{
		function addItem(item:Object):void;
		function addItemAt(item:Object, index:uint):void;
		function removeItem(item:Object):void;
		function removeItemAt(index:uint):void;
		function getItemAt(index:uint):Object;
		function open():void;
		function close():void;
		function enable():void;
		function disable():void;
		function get length():uint;
		function get selectedIndex():int;
		function set selectedItem(item:Object):void;
		function get selectedItem():Object;
		function set selectedLabel(value:String):void;
		function get selectedLabel():String;
		function set items(value:List):void;
		function get items():List;
		function validateNow():void;
		function containsObj(item:Object):Boolean;
		function indexOf(item:Object):int;
		function set defaultText(value:String):void;
		function get defaultText():String;
	}
}